﻿using SportsPlatform.Dto.PermissionManagement.OperationInfo;
using SportsPlatform.Base;
using SportsPlatform.Query.PermissionManagement.BaseQuery;
using SportsPlatform.Query.PermissionManagement.OperationInfo;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.PermissionManagement.IPermissionManagement
{
    /// <summary>
    /// 功能操作信息表
    /// </summary>
    public  interface IOperationInfoService
    {
        /// <summary>
        /// 根据Id查询信息
        /// </summary>
        /// <param name="deleteOrQueryModel"></param>
        /// <returns></returns>
        Task<ResultDto<GetOperationInfoDto>> GetOperationInfo(DeleteOrGetModelQuery deleteOrQueryModel);

        /// <summary>
        /// 获取信息List
        /// </summary>
        /// <param name="getOperationInfoQuery"></param>
        /// <returns></returns>
        Task<ResultListDto<GetOperationInfoDto>> GetOperationInfoList(GetOperationInfoQuery getOperationInfoQuery);

        /// <summary>
        /// 新增信息
        /// </summary>
        /// <param name="addOperationInfoQuery"></param>
        /// <returns></returns>
        Task<BaseResultDto> AddOperationInfo(AddOperationInfoQuery addOperationInfoQuery);

        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name="updateOperationInfoQuery"></param>
        /// <returns></returns>
        Task<BaseResultDto> UpdateOperationInfo(UpdateOperationInfoQuery updateOperationInfoQuery);

        /// <summary>
        /// 根据Id删除信息
        /// </summary>
        /// <param name="deleteOrQueryModel"></param>
        /// <returns></returns>
        Task<BaseResultDto> DeleteOperationInfo(DeleteOrGetModelQuery deleteOrQueryModel);

        /// <summary>
        /// 是否启用
        /// </summary>
        /// <param name="isStatesModel"></param>
        /// <returns></returns>
        Task<BaseResultDto> IsStatesOperationInfo(IsStatesdModel isStatesModel);
    }
}
